# 1、编写一个学生类，产生一堆学生对象
# class Student:
#     def __init__(self,name,age,sex):
#         self.name = name
#         self.age = age
#         self.sex = sex
#     def allstudent(self):
#         return (self.name,self.age,self.sex)
# p1 = Student("李孺禹",27,"男")
# print(p1.allstudent())
# 2、模仿王者荣耀定义两个英雄类
# class Warrior:
#     def __init__(self,name,attack,defense):
#         self.name = name
#         self.attack = attack
#         self.defense = defense
#     def fight1(self):
#         return (self.name,self.attack,self.defense)
# p1 = Warrior("孙策",75,60)
# print(p1.fight1())
# class Magic:
#     def __init__(self, name, attack, defense):
#         self.name = name
#         self.attack = attack
#         self.defense = defense
#     def fight1(self):
#         return (self.name, self.attack, self.defense)
# p2 = Magic("妲己",60,30)
# print(p2.fight1())
# 3、创建一个名为"Person"的类，该类具有"姓名"和"年龄"属性。创建一个"say_hello"方法，当调用该方法时，它会打印出"Hello, 我是[姓名]，今年[年龄]岁。"
# class Person:
#     def __init__(self,name,age):
#         self.name = name
#         self.age = age
#     def say_hello(self):
#         print(f"Hello,我是{self.name},今年{self.age}岁")
# p1 = Person("李孺禹",27)
# p2 = Person("刘闯",29)
# p1.say_hello()
# p2.say_hello()
# 4、创建一个名为"BankAccount"的类，该类具有"账户名称"和"余额"属性。创建一个"deposit"方法，该方法接受一个参数表示存款金额，并将其添加到余额中。创建一个"withdraw"方法，该方法接受一个参数表示取款金额，并从余额中减去该金额。确保在取款时检查余额是否足够
# class BankAccount:
#     def __init__(self,account_name,balance=0):
#         self.account_name = account_name
#         self.balance = balance
#     def deposit(self,amount):
#         self.balance += amount
#         print(f"成功存入{amount}元.当前余额{self.balance}元")
#
#     def withdraw(self,amount):
#         if amount > self.balance:
#             print("余额不足，请使用其他方式付款")
#         else:
#             self.balance -=amount
#             print(f"成功取出{amount}元，还有余额{self.balance}元")
# account = BankAccount("李孺禹的钱包",100000000000)
# account.deposit(100)
# account.withdraw(200000)
# 5、创建一个名为"Student"的类，该类具有"姓名"、"年龄"和"成绩"属性。创建一个"get_grade"方法，该方法接受一个参数表示百分制成绩，并根据得分返回相应的等级（例如，90分以上为"A"级，80-89分为"B"级，70-79分为"C"级，60-69分为"D"级，低于60分为"E"级）
# class Student:
#     def __init__(self,name,age,grade):
#         self.name = name
#         self.age = age
#         self.grade = grade
#     def get_grade(self,score):
#         if score >= 90:
#             return 'A'
#         elif score >= 80:
#             return 'B'
#         elif score >= 70:
#             return 'C'
#         elif score >= 60:
#             return 'D'
#         else:
#             return 'E'
# student = Student("李孺禹",27,99)
# grade = student.get_grade(student.grade)
# print(f"学生{student.name}的成绩为:{grade}")
# 6、创建一个名为"Car"的类，该类具有"品牌"和"颜色"属性。创建一个"start_engine"方法，该方法打印出"启动汽车引擎！"的消息。创建一个"stop_engine"方法，该方法打印出"关闭汽车引擎！"的消息
# class Car:
#     def __init__(self,brand,color):
#         self.brand = brand
#         self.color = color
#     def start_engine(self):
#         print("启动汽车引擎")
#     def stop_engine(self):
#         print("关闭汽车引擎")
# car = Car("Mercedesbenz","White")
# car.start_engine()
# car.stop_engine()
# 7、定义一个用户类(User),用户名(username)和密码(password)是这个类的属性。
# # （1）实例化两个用户,分别有不同的用户名和密码。
# class User:
#     def __init__(self,username,password):
#         self.username = username
#         self.password = password
# user1 = User("liruyu","12345")
# user2 = User("james","123123")
# print({user1.username},{user1.password})
# print({user2.username},{user2.password})
# # （2）设计一个方法 修改密码
# class User:
#     def __init__(self,username,password):
#         self.username = username
#         self.password = password
#     def chang_password(self,new_password):
#         self.password = new_password
#         print("密码已经成功修改")
# user1 = User("liruyu","12345")
# print(f"当前密码为：{user1.password}")
# user1.chang_password("new_password123123123")
# print(f"新密码为:{user1.password}")
# 8、有下面的类属性：姓名、年龄、成绩列表[语文，数学，英语]，其中每门课成绩的类型为整数，类的方法如下所述：
# # (1)列表项列表项获取学生的姓名。get_name()，返回类型：str。
# class Student:
#     def __init__(self,name,age,scores):
#         self.name = name
#         self.age = age
#         self.scores = scores
#     def get_name(self):
#         return self.name
# student = Student("liruyu",27,[100,100,100])
# name = student.get_name()
# print(f"学生姓名:{name}")
# # (2)获取学生的年龄。get_age()，返回类型：int。
# class Student:
#     def __init__(self,name,age,scores):
#         self.name = name
#         self.age = age
#         self.scores = scores
#     def get_age(self):
#         return self.age
# student = Student("liruyu",27,[100,100,100])
# age = student.get_age()
# print(f"学生年龄:{age}")
# # # (3)返回3门科目中最高的分数。get_course()， 返回类型：int。 类定义好之后，可以定义同学测试如下:
# class Student:
#     def __init__(self,name,age,scores):
#         self.name = name
#         self.age = age
#         self.scores = scores
#     def get_course(self):
#         return max(self.scores)
# student = Student("liruyu",27,[100,99,99])
# scores = student.get_course()
# print(f"学生三门成绩最高的分数是:{scores}")
# 9、淘宝商家后台，可以上架商品、下架商品，功能如下：
# # （1） 可以添加商品，商家添加完的商品会存到商品列表
# class TaobaoMerchant:
#     def __init__(self):
#         self.product_list = []
#     def add_product(self,product):
#         self.product_list.append(product)
#         print(f"商品{product}添加成功")
#
#     def remove_product(self,product):
#         if product in self.product_list:
#              self.product_list.remove(product)
#              print(f"商品{product}删除成功")
#         else:
#             print(f"商品{product}不存在")
#     def get_product_list(self):
#         return self.product_list
# merchant = TaobaoMerchant()
# merchant.add_product("商品A")
# merchant.add_product("商品B")
# merchant.add_product("商品C")
#
# products = merchant.get_product_list()
# print("当前商品列表：", products)
#
# merchant.remove_product("商品B")
#
# products = merchant.get_product_list()
# print("当前商品列表：", products)

# # 1.1  商品要有名称、sku、价格
# # （2） 可以修改商品信息：名称、sku、价格
# # （3） 可以对商品进行下架，下架后的商品不再展示